﻿using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;

namespace PHMEE.Admin.Application.Contracts.IServices.DaqInfo.WaveIntervals
{
    public interface IWaveIntervalAppSerive
    {
        /// <summary>
        /// 根据id查询间隔
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<WaveIntervalDto> GetByIdAsync(Guid id);
        /// <summary>
        /// 根据间隔类型查询
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        Task<List<WaveIntervalDto>> GetByTypeAsync(IntervalStyle type);
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<WaveIntervalDto>> GetPagedAsync(PageWaveIntevalDto input);
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<WaveIntervalDto> CreateAsync(CreateWaveIntervalDto input);
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="id"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        Task UpdateAsync(Guid id, UpdateWaveIntervalDto input);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteAsync(Guid id);
    }
}
